Though every MPEG-2 program stream typically includes many types of frames (e.g., I, P, and B) the frequency of occurrence of each frame type (and the number of bits needed to encode each frame type) within a given program stream may vary. Further, though each frame type is related to video quality, some frame types have more effect on the quality of a video stream than others. For example, the corruption of an I frame will have a greater effect on the quality of a video stream than the corruption of a P or B frame because I frames act as reference frames for the other frame types.
In the current state of the art, there are basically two types of methods to compute the quality of a transported video stream. The first method is based on techniques recommended by the Video Quality Experts Group of the ITU. This method involves using a “tool” (e.g., software) to produce a video quality score. The tool implements the ANSI standard for Video Quality Model (TI.801.032003). This type of methodology, however, does not work with live TV broadcasts. It also tends to be expensive.
The second method is to just look at packet loss information. The simplest way is to focus on packet loss rates. That is, a certain packet loss rate, for example 10−6, may be set as the tolerable packet loss rate. Thus, when the loss rate is less than this amount the video quality is deemed good, and when the loss rate is greater that this amount the loss rate is deemed poor. This second method, however, is too crude to capture the nuances of MPEG-2 transport steams. Yet other methods attempt to do deeper packet inspections and compute more significant details about packets that are lost. Unfortunately, these methods are typically too computationally expensive to do on the fly for large amounts of programs.
Accordingly, it is desirable to provide methods (and related devices) that combine the simplicity of the first method with the more computationally deep packet inspections of the other methods, but at a cost that is more affordable.